home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / DefaultComboBoxModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  2.1 KB  |  107 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Vector;
  5.  
  6. public class DefaultComboBoxModel extends AbstractListModel implements MutableComboBoxModel, Serializable {
  7.    Vector objects;
  8.    Object selectedObject;
  9.  
  10.    public DefaultComboBoxModel() {
  11.       this.objects = new Vector();
  12.    }
  13.  
  14.    public DefaultComboBoxModel(Vector var1) {
  15.       this.objects = var1;
  16.       if (this.getSize() > 0) {
  17.          this.selectedObject = this.getElementAt(0);
  18.       }
  19.  
  20.    }
  21.  
  22.    public DefaultComboBoxModel(Object[] var1) {
  23.       this.objects = new Vector();
  24.       this.objects.ensureCapacity(var1.length);
  25.       int var2 = 0;
  26.  
  27.       for(int var3 = var1.length; var2 < var3; ++var2) {
  28.          this.objects.addElement(var1[var2]);
  29.       }
  30.  
  31.       if (this.getSize() > 0) {
  32.          this.selectedObject = this.getElementAt(0);
  33.       }
  34.  
  35.    }
  36.  
  37.    public void addElement(Object var1) {
  38.       this.objects.addElement(var1);
  39.       ((AbstractListModel)this).fireIntervalAdded(this, this.objects.size() - 1, this.objects.size() - 1);
  40.       if (this.objects.size() == 1 && this.selectedObject == null && var1 != null) {
  41.          this.setSelectedItem(var1);
  42.       }
  43.  
  44.    }
  45.  
  46.    public Object getElementAt(int var1) {
  47.       return var1 >= 0 && var1 < this.objects.size() ? this.objects.elementAt(var1) : null;
  48.    }
  49.  
  50.    public int getIndexOf(Object var1) {
  51.       return this.objects.indexOf(var1);
  52.    }
  53.  
  54.    public Object getSelectedItem() {
  55.       return this.selectedObject;
  56.    }
  57.  
  58.    public int getSize() {
  59.       return this.objects.size();
  60.    }
  61.  
  62.    public void insertElementAt(Object var1, int var2) {
  63.       this.objects.insertElementAt(var1, var2);
  64.       ((AbstractListModel)this).fireIntervalAdded(this, var2, var2);
  65.    }
  66.  
  67.    public void removeAllElements() {
  68.       if (this.objects.size() > 0) {
  69.          byte var1 = 0;
  70.          int var2 = this.objects.size() - 1;
  71.          this.objects.removeAllElements();
  72.          this.selectedObject = null;
  73.          ((AbstractListModel)this).fireIntervalRemoved(this, var1, var2);
  74.       }
  75.  
  76.    }
  77.  
  78.    public void removeElement(Object var1) {
  79.       int var2 = this.objects.indexOf(var1);
  80.       if (var2 != -1) {
  81.          this.removeElementAt(var2);
  82.       }
  83.  
  84.    }
  85.  
  86.    public void removeElementAt(int var1) {
  87.       if (this.getElementAt(var1) == this.selectedObject) {
  88.          if (var1 == 0) {
  89.             this.setSelectedItem(this.getSize() == 1 ? null : this.getElementAt(var1 + 1));
  90.          } else {
  91.             this.setSelectedItem(this.getElementAt(var1 - 1));
  92.          }
  93.       }
  94.  
  95.       this.objects.removeElementAt(var1);
  96.       ((AbstractListModel)this).fireIntervalRemoved(this, var1, var1);
  97.    }
  98.  
  99.    public void setSelectedItem(Object var1) {
  100.       if (this.selectedObject != null && !this.selectedObject.equals(var1) || this.selectedObject == null && var1 != null) {
  101.          this.selectedObject = var1;
  102.          ((AbstractListModel)this).fireContentsChanged(this, -1, -1);
  103.       }
  104.  
  105.    }
  106. }
  107.